<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>收集表单数据</title>

    <script type="text/javascript" src="../js/vue.js"></script>
</head>

<body>
    <!-- 
        收集表单数据
            若：<input type="text"/> 则v-model 收集的是value值，用户输入的就是value值。
            若:<input type ="radio"/> 则v-model收集的是value值，且要给标签配置value值。
            若:<input type="checkbox"/> 
                一：没有配置input的value属性，那么收集的就是checked (勾选 or 未勾选 是布尔值)
                二：配置input的value属性
                    v-model的初始值是非数组，那么收集的就是checked(勾选 or 未勾选 是布尔值)
                    v-model的初始值是数组，那么收集的就是value组成的数组
            备注  v-model的三个修饰符
                    lazy：失去焦点再收集数组。
                    number：输入字符串转为有线数字
                    trim：输入收尾空格过滤、
     -->

    <!-- 准备好一个容器 -->
    <div id="root">
       <form @submit.prevent="demo">
            <label for="username">账号: </label>
            <input type="text" id="username" v-model.trim="account"> <br/><br/>
            <label for="password">密码: </label>
            <input type="password" id="password" v-model="pwd">  <br/><br/>
            年龄<input type="number" v-model.number="age"> <br/><br/>
            性别：
            男<input type="radio" name="sex" v-model="sex" value="male">
            女<input type="radio" name="sex" v-model="sex" value="female"><br/><br/>
            爱好：
            学习<input type="checkbox" v-model="hobby" value="study">
            打游戏<input type="checkbox" v-model="hobby" value="game">
            吃饭<input type="checkbox" v-model="hobby" value="eat"> <br/><br/>
            所属校区
            <select v-model="city">
                <option value="">请选择校区</option>
                <option value="beijing">北京</option>
                <option value="shanghai">上海</option>
                <option value="shenzhen">深圳</option>
                <option value="nanjing">南京</option>
            </select> <br/><br/>
            其他信息:
            <textarea v-model.lazy="other"></textarea><br/><br/>
            <input type="checkbox" v-model="agree">阅读并接受协议<a href="http:www.baidu.com">《用户协议》</a>

            <br/><br/>

            <button>提交</button>


       </form>

    </div>

    <script type="text/javascript">
        Vue.config.productionTip = false // 阻止 vue在启动时生成生产提示    
        
        const vm = new Vue({
            el: '#root',
            data:{
                account: '',
                pwd: '',
                age:'',
                sex: 'male',
                hobby:[],
                city:'',
                other:'',
                agree:''

            },
            methods: {
                demo(){
                    console.log(JSON.stringify(this._data))
                }
            }
        })
    </script>


</body>

</html>